RENDIMIENTO DE LA MEMORIA CACHE


El tiempo de CPU se divide en ciclos de ejecución de programa y ciclos que la CPU espera a que se produzca un acceso a la memoria llamados ciclos de parada. Generalmente se supone que los TACCESO a cache forman parte de los ciclos de ejecución de programa:


TCPU= (Ciclos EJECUCIÓN + CiclosPARADA)·TCICLO


Los Ciclos de parada de memoria se deben a fallos de cache. En estos casos se deben realizar accesos al siguiente nivel de la jerarquía de memoria y por lo tanto la CPU debe esperar. Los ciclos de parada se dividen en ciclos de lectura y ciclos de escritura. Para calcular los ciclos de parada de lectura (fallos de lecturas) se aplica la siguiente expresión:


CiclosPARADA-LECTURA = Nº LECTURAS · TasaFALLOS-LECTURAS ·Penalización.


Los Ciclos de parada de escritura los estudiamos con detenimiento en el epígrafe de políticas de escritura. Ahora, para simplificar, suponemos que las penalizaciones de escritura y lectura son iguales y que las tasas de fallos de lectura y escritura se suman en la tasa de fallos de accesos. Con estas condiciones se obtiene la siguiente expresión:


Ciclos PARADA= Accesos a memoria ·TasaFALLOS ·Penalización.


Cuando aumenta la frecuencia de la unidad central de proceso, las penalizaciones por fallos de cache se incrementan .Esto ocurre porque la CPU debe estar mayor número de ciclos esperando a que la memoria le envíe información. Si la mejora del procesador se produce en la disminución del número de ciclos por instrucción(CPI) también se incrementa la penalización por fallos. Esto se debe a que cuanto menor sea el número de ciclos por instrucción de la máquina, mayor será el impacto de los ciclos de parada en el rendimiento. Supongamos que la penalización son 100 ciclos y que CPI son 10, entonces durante la penalización se podrían ejecutar 10 instrucciones, pero si el CPI son 5 se podrían ejecutar 20 es decir disminuye el rendimiento. Es decir las mejoras de la UCP si no van acompañadas de mejoras en la cache producen aumentos de penalizaciones en los fallos de cache.


Otra expresión que se suele utilizar para analizar el rendimiento de la cache es la del tiempo de ciclos promedio de una cache :


T=TcACHE +Tasa FALLOS ·Penalización


Sabiendo que la penalización depende del tiempo de acceso a la memoria principal y del tamaño de los bloques.